﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using MegavaniaX.World;

namespace MegavaniaX.Actors.States
{
    public interface IState
    {
        IState NextState { get; }

        void AddSubstate(IState state);
        void OnEnter();
        bool Update(TimeSpan elapsedTime, Screen screen);
        bool CanHandleEvent(MegavaniaEventType evtType);
        bool HandleEvent(IMegavaniaEvent evt);
        void OnExit();
    }
}
